#ifndef SYSCONF_HAL_H_
#define SYSCONF_HAL_H_

#include <stdint.h>
#include <stdbool.h>

#include "hal/net_address_hal.h"

void sysconf_hal_set_own_ipv4                       (const ipv4_address_t *ip);
void sysconf_hal_set_own_mac                        (const mac_address_t *mac);
void sysconf_hal_set_multicast_mac                  (const mac_address_t *mac);
void sysconf_hal_set_delayresp_to_all               (bool lut);
void sysconf_hal_set_announce_utc_offset            (uint16_t param);
void sysconf_hal_set_announce_gm_clock_variance     (uint16_t param);
void sysconf_hal_set_announce_prio_1                (uint8_t param);
void sysconf_hal_set_announce_prio_2                (uint8_t param);
void sysconf_hal_set_announce_gm_clock_class        (uint8_t param);
void sysconf_hal_set_announce_gm_clock_accurracy    (uint8_t param);
void sysconf_hal_set_ptp_flags_oct0                 (uint8_t param);
void sysconf_hal_set_ptp_flags_oct1                 (uint8_t param);
void sysconf_hal_set_ptp_domain_number              (uint8_t param);
void sysconf_hal_set_ptp_time_source                (uint8_t param);
uint32_t sysconf_hal_get_hw_rev_number              (void);
const char* sysconf_hal_get_sw_rev_number           (void);
void sysconf_hal_use_internal_clock                 (bool internal);
uint32_t sysconf_hal_get_pps_timestamp              (void);
void sysconf_hal_set_clock_stepwidth                (uint64_t stepwidth);


#endif /*SYSCONF_HAL_H_*/

